課程名稱 |
演算法 Algorithms |
開課學期 |
105-1 |
授課對象 |
電機資訊學院 電機工程學系 |
授課教師 |
張耀文 |
課號 |
EE4033 |
課程識別碼 |
901 39000 |
班次 |
|
學分 |
3 |
全/半年 |
半年 |
必/選修 |
選修 |
上課時間 |
星期四7,8,9(14:20~17:20) |
上課地點 |
博理112 |
備註 |
總人數上限:80人 |
Ceiba 課程網頁 |
http://ceiba.ntu.edu.tw/1051EE4033_alg |
課程簡介影片 |
|
核心能力關聯 |
核心能力與課程規劃關聯圖 |
課程大綱
|
為確保您我的權利,請尊重智慧財產權及不得非法影印
|
課程概述 |
Course Contents: Topics include
• Algorithmic fundamentals: mathematical foundations, growth of functions, recurrences (6 hrs)
• Sorting and order statistics (5 hrs)
• Data structures: heap, binary search trees, RB trees, disjoint sets (4 hrs)
• Advanced design and analysis techniques: dynamic programming, greedy algorithms, amortized analysis (9 hrs)
• Graph algorithms: graph representations, searching, minimum spanning trees, shortest paths, matching, network flow (14 hrs)
• NP-completeness, computational complexity, and approximation algorithms (7 hrs)
• General-purpose algorithms: branch and bound, simulated annealing, and computational geometry, as time permits. |
課程目標 |
Course Objective: Focuses on the design and analysis of algorithms and their applications, and develops problem-solving techniques. |
課程要求 |
Prerequisites: data structures (or discrete mathematics).
Six homework assignments (+ in-class quizzes) 30%,
three mini programming assignments 20%,
two in-class tests 50%,
and bonuses for class participation. |
預期每週課後學習時數 |
|
Office Hours |
每週三 12:30~13:30 每週二 17:00~18:00 備註: 每週二 5pm-6pm: 教師時間 (博理館 428 室); 每週三 12:30pm-1:30pm: 助教
時間 (博理館 406 室) |
指定閱讀 |
|
參考書目 |
教科書: T. H. Cormen, C. E. Leiserson, R. L. Rivest, and C. Stein,
Introduction to Algorithms, 3rd Ed.,
MIT Press/McGraw Hill, 2009.
ISBN: 0-262-03384-4 / 978-0-262-53305-8 |
評量方式 (僅供參考) |
No. |
項目 |
百分比 |
說明 |
1. |
Homework assignments + in-class quizzes |
30% |
Six homework assignments (+ in-class quizzes to be held on the due dates) |
2. |
Programming assignments |
20% |
three mini programming assignments 20% (all submissions will be subject to duplication checking; those with 40%
similarity will be penalized ) |
3. |
Midterm |
20% |
in-class test (November 10: 20%) |
4. |
Final exam |
30% |
in-class test (January 12: 30%) |
5. |
Bonus |
0% |
bonuses for class participation |
6. |
Attention |
0% |
Attention: The grades on homework, programming assignments, and tests are considered
final one week after they have been handed back, so you should bring any questions to the grader’s attention promptly. |
|
週次 |
日期 |
單元主題 |
第1週 |
9/15 |
Mid-Autumn Festival |
第2週 |
9/22 |
mathematical foundations, growth of functions |
第3週 |
9/29 |
recurrences, sorting |
第4週 |
10/06 |
Sorting |
第5週 |
10/13 |
Sorting, order statistics, heap |
第6週 |
10/20 |
binary search trees, RB trees |
第7週 |
10/27 |
dynamic programming |
第8週 |
11/03 |
dynamic programming, greedy algorithms |
第9週 |
11/10 |
Midterm |
第10週 |
11/17 |
greedy algorithms, amortized analysis |
第11週 |
11/24 |
graph representations, searching |
第12週 |
12/01 |
disjoint sets, minimum spanning trees |
第13週 |
12/08 |
shortest paths
|
第14週 |
12/15 |
shortest paths, network flow |
第15週 |
12/22 |
network flow, matching, computational complexity |
第16週 |
12/29 |
NP-completeness |
第17週 |
1/05 |
NP-completeness, approximation algorithms |
第18週 |
1/12 |
Final exam |
|